<%-- 
    Document   : CON_COMPROBANTE_AJUSTE
    Created on : 06-oct-2014, 10:54:36
    Author     : equipo_4
--%>

<%@page import="CONTABILIDAD_MODELO.CON_TC_CIERRE"%>
<%@page import="java.text.DecimalFormat"%>
<%@page import="java.util.StringTokenizer"%>
<%@page import="CONTABILIDAD_MODELO.CON_FECHA_CIERRE"%>
<%@page import="CONTABILIDAD_MODELO.CON_CENTRO_COSTO"%>
<%@page import="java.util.ArrayList"%>
<%@page import="CONTABILIDAD_MODELO.CON_MONEDA"%>
<%@page import="CONTABILIDAD_MODELO.CON_TIPO_DE_CAMBIO"%>
<%@page import="CONTABILIDAD_MODELO.CON_CUENTA_CONTABLE"%>
<%@page import="java.util.List"%>
<%@page import="Conexion.Conexion"%>
<%@page import="RRHH_Modelo.RHH_USUARIO"%>
<%@page import="CONTABILIDAD_MODELO.CON_DIFERENCIA_CAMBIO"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>BROKER</title>
        
    </head>
    <body>
        <h1>CUENTAS QUE SERAN AFECTADAS POR LOS AJUSTES</h1>
        <table>
            <thead>
                <th>CODIGO</th>
                <th>DESCRIPCION</th>
                <%
                    RHH_USUARIO usuario = ((RHH_USUARIO)request.getSession().getAttribute("usr"));
                    Conexion con = new Conexion(usuario.getUSUARIO(), usuario.getPASSWORD());
                    
                    String tipo = request.getParameter("tipo");
                    if(tipo.equals("dolar"))
                    {
                        out.print("<th>DEBE CUENTA</th>");
                        out.print("<th>HABER CUENTA</th>");
                    }
                    if(tipo.equals("ufv"))
                    {
                        out.print("<th>DEBE INFLACION</th>");
                        out.print("<th>HABER INFLACION</th>");
                    }
                %>
                <th>DEBE Bs</th>
                <th>HABER Bs</th>
                <th>TC</th>
                <th>ACRONIMO</th>
                <th>CUENTA DEBE </th>
                <th>DEBE AJUSTE</th>
                <th>CUENTA HABER </th>
                <th>HABER AJUSTE</th>
            </thead>
            <tbody>
        <%           
            CON_DIFERENCIA_CAMBIO con_dif_cam = new CON_DIFERENCIA_CAMBIO();
            con_dif_cam.setCon(con);
            
            CON_FECHA_CIERRE fecha = new CON_FECHA_CIERRE();
            fecha.setCon(con);
            int mes=fecha.mesActual();
            int ano=fecha.anoActual();
            
            List<CON_DIFERENCIA_CAMBIO> lista = null;
            if(tipo.equals("dolar"))
                lista = con_dif_cam.TodosOtras(mes, ano);
            if(tipo.equals("ufv"))
                lista = con_dif_cam.TodosUFV(mes,ano);
            
            CON_CUENTA_CONTABLE cuenta = new CON_CUENTA_CONTABLE(con);
            
            for (int i = 0; i < lista.size(); i++)
            {                
                Double tc =0.0;
                CON_FECHA_CIERRE fecha_cierre = new CON_FECHA_CIERRE();
                fecha_cierre.setCon(con);
                fecha_cierre=fecha_cierre.Buscar(mes, ano);
                 
                CON_MONEDA tcam = new CON_MONEDA();
                tcam.setCon(con);
                    
                if(fecha_cierre==null)
                {                    
                    tcam = tcam.BuscarXAcronimo(lista.get(i).getACRONIMO());
                    if(tcam.getMONEDA_BASE()==1)
                        tc= tcam.getTIPO_DE_CAMBIO_VENTA();
                    else
                        tc= tcam.getTIPO_DE_CAMBIO();
                }
                else
                {   
                    CON_TC_CIERRE tcc= new CON_TC_CIERRE();
                    tcc.setCon(con);
                    tcc = tcc.BuscarXAcronimo_FECHA_CIERRA(lista.get(i).getACRONIMO(),fecha_cierre.getID());
                    tc=tcc.getMONTO();
                    
                }                                
                
                Double debe=lista.get(i).getDEBE_$US()*tc;
                Double haber=lista.get(i).getHABER_$US()*tc;
                
                debe = debe-lista.get(i).getDEBE_BS();
                haber = haber-lista.get(i).getHABER_BS();
                             
                double fdebe=0;
                double fhaber=0;

                if(debe>=0)
                    fdebe += debe;
                else
                    fhaber +=(debe*-1);
                if(haber>=0)
                    fhaber+=haber;
                else
                    fdebe+=(haber*-1);
                
                
                DecimalFormat df = new DecimalFormat("0.0000");
                if(fdebe==0 && fhaber==0)
                {
                    
                }
                else
                {
                    CON_CENTRO_COSTO centro = new CON_CENTRO_COSTO(con);
                    CON_CUENTA_CONTABLE cuenta_ppl = new CON_CUENTA_CONTABLE(con);
                    if(lista.get(i).getCODIGO_CENTRO_COSTO()!=null)
                    {
                        centro = centro.BuscarXCodigo(lista.get(i).getCODIGO_CENTRO_COSTO());
                        cuenta_ppl =cuenta_ppl.BuscarXid(lista.get(i).getID_CUENTA());
                    }
                    else
                    {
                        cuenta_ppl =cuenta_ppl.BuscarXid(lista.get(i).getID_CUENTA());
                    }
                    
                    out.print("<tr>");
                    if(centro.getCODIGO()!=null)
                    {
                        out.print("<td>"+centro.getCODIGO()+"</td>");
                        out.print("<td>"+centro.getDESCRIPCION()+"</td>");
                    }
                    else
                    {
                        out.print("<td>"+cuenta_ppl.getCODIGO()+"</td>");
                        out.print("<td>"+cuenta_ppl.getDESCRIPCION()+"</td>");
                    }
                    out.print("<td>"+df.format(lista.get(i).getDEBE_$US())+"</td>");
                    out.print("<td>"+df.format(lista.get(i).getHABER_$US())+"</td>");
                    out.print("<td>"+df.format(lista.get(i).getDEBE_BS())+"</td>");
                    out.print("<td>"+df.format(lista.get(i).getHABER_BS())+"</td>");
                    out.print("<td>"+tc+"</td>");
                    out.print("<td>"+lista.get(i).getACRONIMO()+"</td>");
                    out.print("<td></td>");
                    out.print("<td></td>");
                    out.print("<td></td>");
                    out.print("</tr>");

                    out.print("<tr style='background: red'>");
                    if(centro.getCODIGO()!=null)
                    {
                        out.print("<td>"+centro.getCODIGO()+"</td>");
                        out.print("<td>"+centro.getDESCRIPCION()+"</td>");
                    }
                    else
                    {
                        out.print("<td>"+cuenta_ppl.getCODIGO()+"</td>");
                        out.print("<td>"+cuenta_ppl.getDESCRIPCION()+"</td>");
                    }         
                    out.print("<td></td>");
                    out.print("<td></td>");

                    out.print("<td>"+df.format(fdebe)+"</td>");
                    out.print("<td>"+df.format(fhaber)+"</td>");
                    out.print("<td>"+tc+"</td>");
                    out.print("<td>"+lista.get(i).getACRONIMO()+"</td>");
                    cuenta=cuenta.BuscarXid(lista.get(i).getCUENTA_DEBE());
                    out.print("<td>"+cuenta.getDESCRIPCION()+"</td>");
                    out.print("<td>"+df.format(fhaber)+"</td>");
                    cuenta=cuenta.BuscarXid(lista.get(i).getCUENTA_HABER());
                    out.print("<td>"+cuenta.getDESCRIPCION()+"</td>");
                    out.print("<td>"+df.format(fdebe)+"</td>");
                    out.print("</tr>");       
                }
            }            
        %>
         </tbody>         
        </table>
         <form method="POST" action="../CON_CUENTA_AJUSTE_CONTROLLER">
             <input type="submit" name="generar" value="GENERAR"/>
             <input type="hidden" name="tipo" value="<%out.print(tipo);%>"/>
         </form>
    </body>
</html>
